/**
 * 分页工具条
 * 扩展带调整分页条数功能
 */
Ext.define("app.components.ui.list.PageBar", {
    extend: "Ext.toolbar.Paging",
    alias: "widget.pagebar_",
    xtype: "pagebar_",
    config: {
        store: null,
        displayInfo: true,
        dock: "bottom",
        pageSizeList:[10,20,50,100]
    },
    initComponent: function () {
        var me = this;
        //创建下拉框
        var combo = Ext.create('Ext.form.ComboBox', {
            name: 'pageSize',
            hiddenName: 'pageSize',
            store: new Ext.data.ArrayStore({
                fields: ['text', 'value'],
                data: me.getPageSizeList()
            }),
            editable: false,
            valueField: 'value',
            displayField: 'text',
            emptyText: 20,
            width: 50
        });
        combo.on("select", function (comboBox) {
            // var pagingBar = Ext.getCmp('pagingbar');//获取分页工具组件
            var itemsPerPage = parseInt(comboBox.getValue());
            me.pageSize = itemsPerPage;//修改分页工具组件的pagingsize
            //给分页条数赋值，这里你可以定义一个全局的分页条数，每次在这里更改他的值
            me.store.limit = itemsPerPage;//将store里面的limit值也改掉
            me.store.pageSize = itemsPerPage;//同理改掉store里面的pagesize值。这个很重要！！！！
            me.store.loadPage(1);//不管是在哪个页面，都让store去显示第一个页面，加载第一个页面的数据
        });

        me.items= [ '-', '每页显示', combo, '条' ];//在这里将下拉框加进去，其他的没什么特别的

        me.callParent();
    },
    //格式化传入的数据条数集合
    getPageSizeList:function () {
        var arr=[];
        var list=this.pageSizeList;
        if(list&&list.length>0){
            Ext.Array.forEach(list,function (n) {
                var temp=[];
                temp.push(n);
                temp.push(n);
                arr.push(temp);
            });
            return arr;
        }else{
            return [[ 10, 10 ],[ 20, 20 ],[ 50, 50 ],[ 100, 100 ]];
        }
    }
});
